﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WMSSystem.YSL.Dto.工作台.商品工作台;

namespace WMSSystem.YSL.Interfance
{

    /// <summary>
    /// 工作台商品统计服务接口
    /// </summary>
    public interface IGZTotalStatisticsService
    {
/*        /// <summary>
        /// 获取实时统计数据
        /// </summary>
        /// <param name="input">请求参数</param>
        /// <returns>统计数据</returns>
        Task<GZTotalGetRealTimeStatisticsOutputDto> GetRealTimeStatisticsAsync(GZTotalGetRealTimeStatisticsInputDto input);*/

        /// <summary>
        /// 获取工作台概览数据
        /// </summary>
        /// <returns>工作台概览数据</returns>
        Task<GZTotalGetRealTimeStatisticsOutputDto> GetWorkbenchOverviewAsync();

        /// <summary>
        /// 统一统计方法 - 支持年、月、日统计
        /// </summary>
        /// <param name="year">年份（必填）</param>
        /// <param name="month">月份（可选，0表示年度统计）</param>
        /// <param name="day">日期（可选，0表示月度统计）</param>
        /// <returns>统计数据</returns>
        Task<GZTotalMonthlySalesStatisticsDto> GetStatisticsAsync(int year=2025, int month = 7, int day = 0);

        /// <summary>
        /// 获取综合统计数据（包含总销售数量、总入库数量、总销售金额、仓库总数）
        /// </summary>
        /// <param name="year">年份（可选）</param>
        /// <param name="month">月份（可选）</param>
        /// <param name="day">日期（可选）</param>
        /// <returns>综合统计数据</returns>
        Task<GZTotalMonthlySalesStatisticsDto> GetComprehensiveStatisticsAsync(int? year = 2025, int? month = null, int? day = null);
    }
}
